home *** CD-ROM | disk | FTP | other *** search
/ Aminet 32 / Aminet 32 (1999)(Schatztruhe)[!][Aug 1999].iso / Aminet / util / libs / graphics3d.lha / develop / ASM / graphics3D.i < prev   
Encoding:
Text File  |  1999-01-23  |  3.5 KB  |  103 lines

  1. *
  2. **      $VER: graphics3D.i 10.01 (01.11.97) 
  3. **
  4. **      main include file (assembler) for graphics3D.library
  5. **
  6. **      (C) Copyright 1997 Patrizio Biancalani
  7. **      All Rights Reserved.
  8. *
  9.  
  10.     include "vinclude:exec/types.i"
  11.  
  12. * COSTANTI USATE DALLA LIBRERIA *
  13.  
  14. JAM1 equ     0
  15. JAM2 equ     1
  16. COMPLEMENT equ     2
  17. INVERSVID equ     4
  18. WIREF equ    0    * modo visualizzazione in wire frame 
  19. SOLID equ    2    * modo visualizzazione in solid 
  20. FLAT equ    1    * modo visualizzazione in flat shading
  21. GORAUD equ    3    * modo visualizzazione in goraud shading
  22. TMAP equ    16    * modo visualizzazione in texture mapping
  23. ZPLANE equ     0       * #1 modo clippaggio oggetti 
  24. FRUSTUM equ    1       * #2 modo clippaggio oggetti
  25. PROSP_P equ    0    * tipo proiezione prospettica
  26. PARAL_P equ    1    * tipo proiezione parallela 
  27. FIXV equ       256    * fattore moltipl. per num. virgola fissa 
  28. END_T equ    0    * fine array tag3d di dati
  29.  
  30. * tipi dati per tag3d.tipo riconosciuti attualmente per 
  31. * funzione GD_cascene()
  32. CS_PROJET equ    1    * tipo di proiezione 
  33. CS_SBUFF  equ    2         * attivazione o meno single buffering 
  34. CS_GCOLOR equ    3    * nuovo colore sfondo box di visualizzazione
  35. CS_VDIST  equ    4    * nuovo valore distanza da piano di proiezione
  36. CS_NPX0      equ    5         * nuova posizione X per box di visualizzazione
  37. CS_NPY0   equ    6         * nuova posizione Y per box di visualizzazione
  38. CS_ZOOM   equ    7    * nuovo valore per zoom scena 
  39. CS_ZBUF      equ   8     * flag per abilitare disbilitare z-buffering
  40. CS_VIEWP  equ    9    * ritorna posizione attuale camera 
  41.  
  42. * tipi dati per tag3d.tipo riconosciuti attualmente per
  43. * funzione GD_genpalette()
  44. GP_RCOL   equ    1    * set n# colori da riservare per altri usi 
  45. GP_NCOL   equ    2    * set n# colori base da usare 
  46. GP_NLIV      equ    3    * set n# livelli d'intensita' per ogni colore 
  47. GP_COL      equ    4    * set n# colore a cui associare i prossimi GP_HRBG e GP_LRGB 
  48. GP_HRGB   equ    5    * definisce i valori RGB massimi per un colore (def.15,15,15) 
  49. GP_LRGB   equ    6    * definisce i valori RGB minimi per un colore (def. 0,0,0) 
  50. GP_PALET  equ    7    * assegna uno specifico registro della palette al colore GP_COL
  51. GP_INFO      equ    8    * restituisce il n# registro della palette del colore GP_COL
  52. GP_TRASP  equ    9    * assegno colore trasparente ad ultimo e lo ignoro per i livelli
  53.  
  54. * tipi dati per tag3d.tipo riconosciuti attualmente per
  55. * funzione GD_modobj()
  56. MO_STATE  equ    1    * attiva(1) o disattiva(0) l'oggetto attuale
  57. MO_VMODE  equ    2    * setta il nuovo viewmode dell'oggetto attuale
  58.  
  59. * tipi dati per tag3d.tipo riconosciuti attualmente per
  60. * funzione GD_modpoly()
  61. MP_POLY   equ    1    * set n# poligono su cui far operare le modifiche
  62. MP_COLOR  equ    2    * modifica il colore del poligono
  63. MP_2SIDE  equ    3    * setta a 2(1) o 1(0) faccia il poligono
  64. MP_TMAP   equ    4    * assegna una texture map al poligono
  65. MP_VTMAP  equ    5    * definisce i vertici della texture map del poligono
  66. MP_VTAUTO equ    6    * definisce i vertici automaticamente 
  67. MP_ACTIV  equ    7    * attiva(1) o disattiva(0) il poligono selezionato 
  68.  
  69. ** STRUTTURE DATI DI USO ESTERNO ED INTERNO 
  70. * vertice, usa formato float a virgola fissa ,(val*FIXV)
  71.     STRUCTURE vertex,0
  72.     LONG vx_x
  73.     LONG vx_y
  74.     LONG vx_z
  75.     LABEL vx_SIZEOF
  76.  
  77. * vertice su texture map (valori in pixel intero corto)
  78.     STRUCTURE vtmap,0
  79.     WORD vt_x1
  80.     WORD vt_y1
  81.     WORD vt_x2
  82.     WORD vt_y2
  83.     WORD vt_x3
  84.     WORD vt_y3
  85.     WORD vt_x4
  86.     WORD vt_y4
  87.     LABEL vt_SIZEOF
  88.  
  89. * struttura per definizione colore
  90.     STRUCTURE rgbtype,0
  91.     WORD rt_r
  92.     WORD rt_g
  93.     WORD rt_b
  94.     LABEL rt_SIZEOF
  95.  
  96. * struttura tag3d per definire un array di valori estendibile 
  97. * analogo alla struttura TagItem dell' Amiga O.S.            
  98.     STRUCTURE tag3d,0
  99.     UWORD t3_tipo
  100.     LONG t3_val
  101.     LABEL t3_SIZEOF 
  102.  
  103.